x
Skip to main content
Version: 1.6.0

Custom Settings Configuration

Stirling-PDF provides a /configs/custom_settings.yml file where users can configure additional settings beyond the standard configuration. This file follows standard YAML format and supports Spring Boot application properties, allowing you to customize the application without modifying core files.

Logging Configuration​

Control the verbosity of logs by adjusting log levels for different components:

logging:
level:
root: INFO
org.springframework: WARN
org.hibernate: WARN
org.eclipse.jetty: WARN
stirling.software.SPDF: INFO
# Enable debug logging for specific components when troubleshooting
# org.springframework.security.saml2: TRACE
# org.springframework.security: DEBUG
# org.opensaml: DEBUG

Server Configuration​

Configure server behavior including port, address binding, and session timeout:

server:
port: 8080 # Default port
address: 0.0.0.0 # Bind to all interfaces
servlet:
context-path: / # Application context path
session:
timeout: 30m # Session timeout
jetty:
threads:
max: 200 # Maximum number of request processing threads
min: 10 # Minimum number of threads always kept running
connection-idle-timeout: 30000 # Connection idle timeout in milliseconds

SSL/TLS Configuration​

Configure HTTPS for secure connections:

server:
port: 8443 # Standard HTTPS port
ssl:
enabled: true
key-store: classpath:keystore.p12 # Path to keystore file
key-store-password: your-keystore-password
key-store-type: PKCS12 # Type of keystore
key-alias: tomcat # Alias of the certificate

Creating a Self-Signed Certificate​

To generate a self-signed certificate for development or testing:

keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.p12 -validity 365

⚠️ Note​

For production use, it's recommended to use a certificate from a trusted Certificate Authority.

Configuration Examples​

Basic Configuration​

A simple configuration that changes the port and adjusts logging levels:

# custom_settings.yml
server:
port: 9000

logging:
level:
root: INFO
org.springframework: WARN
org.hibernate: WARN
stirling.software.SPDF: INFO

HTTPS Configuration​

Enable HTTPS with a custom certificate:

# custom_settings.yml
server:
port: 8443
ssl:
enabled: true
key-store: classpath:keystore.p12
key-store-password: your-keystore-password
key-store-type: PKCS12
key-alias: tomcat

logging:
level:
root: INFO
org.springframework: WARN

Troubleshooting Common Issues​

Authentication Issues​

Increase security logging to diagnose authentication problems:

logging:
level:
org.springframework.security: DEBUG
stirling.software.SPDF.config.security: DEBUG

SAML/OAuth Issues​

Increase SAML-related logging for SSO troubleshooting:

logging:
level:
org.springframework.security.saml2: TRACE
org.springframework.security.oauth2: DEBUG
org.opensaml: DEBUG

General Application Issues​

For general application issues:

logging:
level:
stirling.software.SPDF: DEBUG

⚠️ Note​

Debug-level logging can significantly increase log volume and may impact performance in production environments. Return logging to normal levels after troubleshooting.